package com.javafactroy.kunlong.data.entity;

import lombok.Data;
import com.javafactroy.kunlong.base.dto.TQueryParam;
import com.javafactroy.kunlong.client.feign.dto.PageInfoDto;
import javax.persistence.Column;
import javax.persistence.*;
import java.util.Date;
//import javax.persistence.Id;
import java.math.BigDecimal;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.annotations.ApiModelProperty;
/**
*  @author raymond.lei@163.com
*  @date   2023-11-30 14:31:55
*  @file   EmpInfoApiEntity.java
*  @company com.javafactroy.kunlong
*
*/
@Data
@Table(name="emp_info")
@ApiModel("员工信息")
@Accessors(chain = true)
@ExcelIgnoreUnannotated
@ColumnWidth(18)
public class EmpInfoApiEntity   extends PageInfoDto {
    private static final long serialVersionUID = 1L; //一会就说这个是做什么的

    public final static String pkeyField = "emp_id";
    public final static String pkeyProp  = "empId";
    @Data
    public static class EmpInfoQueryParam extends TQueryParam<EmpInfoApiEntity> {
        public EmpInfoQueryParam() {
            param = new EmpInfoApiEntity();
        }
    }

    		// 员工标识  dataType:bigint
		@ApiModelProperty(name="员工标识 ")
		@ExcelProperty("员工标识 ")
		@Column(name="emp_id")
		@Id
		@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "Mysql")
		Long  empId;

		// 员工编码 dataType:varchar
		@ApiModelProperty(name="员工编码")
		@ExcelProperty("员工编码")
		@Column(name="emp_code")
		String  empCode;

		// 员工名称 dataType:varchar
		@ApiModelProperty(name="员工名称")
		@ExcelProperty("员工名称")
		@Column(name="emp_name")
		String  empName;

		// 候选人标识 dataType:bigint
		@ApiModelProperty(name="候选人标识")
		@ExcelProperty("候选人标识")
		@Column(name="candidate_info_id")
		Long  candidateInfoId;

		// 需求候选人标识 dataType:bigint
		@ApiModelProperty(name="需求候选人标识")
		@ExcelProperty("需求候选人标识")
		@Column(name="demand_candidate_id")
		Long  demandCandidateId;

		// 供应商标识 dataType:bigint
		@ApiModelProperty(name="供应商标识")
		@ExcelProperty("供应商标识")
		@Column(name="supplier_id")
		Long  supplierId;

		// 供应商名称 dataType:varchar
		@ApiModelProperty(name="供应商名称")
		@ExcelProperty("供应商名称")
		@Column(name="supplier_name")
		String  supplierName;

		// 部门标识 dataType:bigint
		@ApiModelProperty(name="部门标识")
		@ExcelProperty("部门标识")
		@Column(name="dept_id")
		Long  deptId;

		// 部门名称 dataType:varchar
		@ApiModelProperty(name="部门名称")
		@ExcelProperty("部门名称")
		@Column(name="dept_name")
		String  deptName;

		// 项目标识 dataType:bigint
		@ApiModelProperty(name="项目标识")
		@ExcelProperty("项目标识")
		@Column(name="project_id")
		Long  projectId;

		// 项目名称 dataType:varchar
		@ApiModelProperty(name="项目名称")
		@ExcelProperty("项目名称")
		@Column(name="project_name")
		String  projectName;

		// 性别（M男； F女） dataType:varchar
		@ApiModelProperty(name="性别（M男； F女）")
		@ExcelProperty("性别（M男； F女）")
		@Column(name="emp_sex")
		String  empSex;

		// 岗位标识 dataType:bigint
		@ApiModelProperty(name="岗位标识")
		@ExcelProperty("岗位标识")
		@Column(name="post_id")
		Long  postId;

		// 岗位名称 dataType:varchar
		@ApiModelProperty(name="岗位名称")
		@ExcelProperty("岗位名称")
		@Column(name="post_name")
		String  postName;

		// 级别标识 dataType:bigint
		@ApiModelProperty(name="级别标识")
		@ExcelProperty("级别标识")
		@Column(name="level_id")
		Long  levelId;

		// 级别名称 dataType:varchar
		@ApiModelProperty(name="级别名称")
		@ExcelProperty("级别名称")
		@Column(name="level_name")
		String  levelName;

		// 含税单价---废弃 dataType:decimal
		@ApiModelProperty(name="含税单价---废弃")
		@ExcelProperty("含税单价---废弃")
		@Column(name="tax_price")
		BigDecimal  taxPrice;

		// 邮箱 dataType:varchar
		@ApiModelProperty(name="邮箱")
		@ExcelProperty("邮箱")
		@Column(name="email")
		String  email;

		// 证件号码 dataType:varchar
		@ApiModelProperty(name="证件号码")
		@ExcelProperty("证件号码")
		@Column(name="id_no")
		String  idNo;

		// 手机号 dataType:varchar
		@ApiModelProperty(name="手机号")
		@ExcelProperty("手机号")
		@Column(name="phone")
		String  phone;

		// 工作年限 dataType:decimal
		@ApiModelProperty(name="工作年限")
		@ExcelProperty("工作年限")
		@Column(name="work_years")
		BigDecimal  workYears;

		// 出生日期 dataType:date
		@ApiModelProperty(name="出生日期")
		@ExcelProperty("出生日期")
		@Column(name="birthday")
		Date  birthday;

		// 毕业学校 dataType:varchar
		@ApiModelProperty(name="毕业学校")
		@ExcelProperty("毕业学校")
		@Column(name="from_school")
		String  fromSchool;

		// 专业 dataType:varchar
		@ApiModelProperty(name="专业")
		@ExcelProperty("专业")
		@Column(name="special")
		String  special;

		// 最高学历 dataType:varchar
		@ApiModelProperty(name="最高学历")
		@ExcelProperty("最高学历")
		@Column(name="education_bg")
		String  educationBg;

		// 工作状态 0：在职 1：离职 dataType:tinyint
		@ApiModelProperty(name="工作状态 0：在职 1：离职")
		@ExcelProperty("工作状态 0：在职 1：离职")
		@Column(name="work_state")
		Boolean  workState;

		// 入职日期 dataType:date
		@ApiModelProperty(name="入职日期")
		@ExcelProperty("入职日期")
		@Column(name="join_date")
		Date  joinDate;

		// 离职日期 dataType:date
		@ApiModelProperty(name="离职日期")
		@ExcelProperty("离职日期")
		@Column(name="leave_date")
		Date  leaveDate;

		// 婚姻状况 dataType:varchar
		@ApiModelProperty(name="婚姻状况")
		@ExcelProperty("婚姻状况")
		@Column(name="marriage")
		String  marriage;

		// 附件 dataType:bigint
		@ApiModelProperty(name="附件")
		@ExcelProperty("附件")
		@Column(name="appendix")
		Long  appendix;

		// 居住地 dataType:varchar
		@ApiModelProperty(name="居住地")
		@ExcelProperty("居住地")
		@Column(name="reside")
		String  reside;

		// 备注 dataType:varchar
		@ApiModelProperty(name="备注")
		@ExcelProperty("备注")
		@Column(name="remark")
		String  remark;

		// 照片 dataType:bigint
		@ApiModelProperty(name="照片")
		@ExcelProperty("照片")
		@Column(name="photo_id")
		Long  photoId;

		// 简历标识 dataType:bigint
		@ApiModelProperty(name="简历标识")
		@ExcelProperty("简历标识")
		@Column(name="resume_id")
		Long  resumeId;

		// 创建时间 dataType:datetime
		@ApiModelProperty(name="创建时间")
		@ExcelProperty("创建时间")
		@Column(name="created_at")
		Date  createdAt;

		// 创建人 dataType:bigint
		@ApiModelProperty(name="创建人")
		@ExcelProperty("创建人")
		@Column(name="created_by")
		Long  createdBy;

		// 更新时间 dataType:datetime
		@ApiModelProperty(name="更新时间")
		@ExcelProperty("更新时间")
		@Column(name="updated_at")
		Date  updatedAt;

		// 修改人 dataType:bigint
		@ApiModelProperty(name="修改人")
		@ExcelProperty("修改人")
		@Column(name="updated_by")
		Long  updatedBy;



}